|
OpenAvnu
0.1
|
#include <linux/module.h>#include <linux/types.h>#include <linux/init.h>#include <linux/vmalloc.h>#include <linux/pagemap.h>#include <linux/netdevice.h>#include <linux/tcp.h>#include <linux/if_vlan.h>#include <linux/if_bridge.h>#include "igb.h"#include "igb_vmdq.h"
매크로 | |
| #define | DRV_DEBUG |
| #define | DRV_HW_PERF |
| #define | VERSION_SUFFIX "_AVB" |
| #define | MAJ 5 |
| #define | MIN 3 |
| #define | BUILD 2 |
| #define | DRV_VERSION |
| #define | Q_IDX_82576(i) (((i & 0x1) << 3) + (i >> 1)) |
| #define | IGB_N0_QUEUE -1 |
| #define | E1000_MRQC_ENABLE_DEF_Q3 (3 << 3) |
| #define | IGB_STAGGERED_QUEUE_OFFSET 8 |
| #define | IGB_SET_FLAG(_input, _flag, _result) |
| #define | MAX_STD_JUMBO_FRAME_SIZE 9238 |
| #define | PHY_IDLE_ERROR_COUNT_MASK 0x00FF |
| #define | TX_WAKE_THRESHOLD (DESC_NEEDED * 2) |
| #define | E1000_CTRL_EN_PHY_PWR_MGMT 0x00200000 |
| #define | E1000_DEV_ID_82576_VF 0x10CA |
열거형 타입 | |
| enum | latency_range { lowest_latency = 0, low_latency = 1, bulk_latency = 2, latency_invalid = 255 } |
함수 | |
| MODULE_DEVICE_TABLE (pci, igb_pci_tbl) | |
| static int | igb_setup_all_tx_resources (struct igb_adapter *) |
| static int | igb_setup_all_rx_resources (struct igb_adapter *) |
| static void | igb_free_all_tx_resources (struct igb_adapter *) |
| static void | igb_free_all_rx_resources (struct igb_adapter *) |
| static void | igb_setup_mrqc (struct igb_adapter *) |
| static int | igb_probe (struct pci_dev *, const struct pci_device_id *) |
| static void | igb_remove (struct pci_dev *pdev) |
| static int | igb_sw_init (struct igb_adapter *) |
| static int | igb_open (struct net_device *) |
| static int | igb_close (struct net_device *) |
| static void | igb_configure (struct igb_adapter *) |
| static void | igb_configure_tx (struct igb_adapter *) |
| static void | igb_configure_rx (struct igb_adapter *) |
| static void | igb_clean_all_tx_rings (struct igb_adapter *) |
| static void | igb_clean_all_rx_rings (struct igb_adapter *) |
| static void | igb_clean_tx_ring (struct igb_ring *) |
| static void | igb_set_rx_mode (struct net_device *) |
| static void | igb_update_phy_info (struct timer_list *) |
| static void | igb_watchdog (struct timer_list *) |
| static void | igb_dma_err_timer (struct timer_list *) |
| static void | igb_watchdog_task (struct work_struct *) |
| static void | igb_dma_err_task (struct work_struct *) |
| static u16 | igb_select_queue (struct net_device *dev, struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback) |
| static netdev_tx_t | igb_xmit_frame (struct sk_buff *skb, struct net_device *) |
| static struct net_device_stats * | igb_get_stats (struct net_device *) |
| static int | igb_change_mtu (struct net_device *, int) |
| static int | igb_set_mac (struct net_device *, void *) |
| static void | igb_set_uta (struct igb_adapter *adapter) |
| static irqreturn_t | igb_intr (int irq, void *) |
| static irqreturn_t | igb_intr_msi (int irq, void *) |
| static irqreturn_t | igb_msix_other (int irq, void *) |
| static void | igb_rar_set_qsel (struct igb_adapter *, u8 *, u32, u8) |
| static irqreturn_t | igb_msix_ring (int irq, void *) |
| static int | igb_poll (struct napi_struct *, int) |
| static bool | igb_clean_tx_irq (struct igb_q_vector *) |
| static bool | igb_clean_rx_irq (struct igb_q_vector *, int) |
| static int | igb_ioctl (struct net_device *, struct ifreq *, int cmd) |
| static void | igb_tx_timeout (struct net_device *) |
| static void | igb_reset_task (struct work_struct *) |
| static int | igb_vlan_rx_add_vid (struct net_device *, u16) |
| static int | igb_vlan_rx_kill_vid (struct net_device *, u16) |
| static void | igb_restore_vlan (struct igb_adapter *) |
| static void | igb_ping_all_vfs (struct igb_adapter *) |
| static void | igb_msg_task (struct igb_adapter *) |
| static void | igb_vmm_control (struct igb_adapter *) |
| static int | igb_set_vf_mac (struct igb_adapter *, int, unsigned char *) |
| static void | igb_restore_vf_multicasts (struct igb_adapter *adapter) |
| static void | igb_process_mdd_event (struct igb_adapter *) |
| static int | igb_vf_configure (struct igb_adapter *adapter, int vf) |
| static int | igb_init_avb (struct e1000_hw *hw) |
| static int | igb_open_file (struct inode *inode, struct file *file) |
| static int | igb_close_file (struct inode *inode, struct file *file) |
| static long | igb_ioctl_file (struct file *file, unsigned int cmd, unsigned long arg) |
| static void | igb_vm_open (struct vm_area_struct *vma) |
| static void | igb_vm_close (struct vm_area_struct *vma) |
| static int | igb_vm_fault (struct vm_fault *fdata) |
| static int | igb_mmap (struct file *file, struct vm_area_struct *vma) |
| static ssize_t | igb_read (struct file *file, char __user *buf, size_t count, loff_t *pos) |
| static ssize_t | igb_write (struct file *file, const char __user *buf, size_t count, loff_t *pos) |
| static unsigned int | igb_pollfd (struct file *file, poll_table *wait) |
| static void | igb_shutdown (struct pci_dev *) |
| static pci_ers_result_t | igb_io_error_detected (struct pci_dev *, pci_channel_state_t) |
| static pci_ers_result_t | igb_io_slot_reset (struct pci_dev *) |
| static void | igb_io_resume (struct pci_dev *) |
| static void | igb_init_fw (struct igb_adapter *adapter) |
| static void | igb_init_dmac (struct igb_adapter *adapter, u32 pba) |
| MODULE_AUTHOR ("Intel Corporation, <e1000-devel@lists.sourceforge.net>") | |
| MODULE_DESCRIPTION ("Intel(R) Gigabit Ethernet Network Driver") | |
| MODULE_LICENSE ("GPL") | |
| MODULE_VERSION (DRV_VERSION) | |
| static void | igb_vfta_set (struct igb_adapter *adapter, u32 vid, bool add) |
| module_param (debug, int, 0) | |
| MODULE_PARM_DESC (debug,"Debug level (0=none, ..., 16=all)") | |
| module_param (tx_size, int, 0) | |
| MODULE_PARM_DESC (tx_size,"Tx Ring size passed in insmod parameter") | |
| static int __init | igb_init_module (void) |
| module_init (igb_init_module) | |
| static void __exit | igb_exit_module (void) |
| module_exit (igb_exit_module) | |
| static void | igb_cache_ring_register (struct igb_adapter *adapter) |
| u32 | e1000_read_reg (struct e1000_hw *hw, u32 reg) |
| static void | igb_configure_lli (struct igb_adapter *adapter) |
| static void | igb_write_ivar (struct e1000_hw *hw, int msix_vector, int index, int offset) |
| static void | igb_assign_vector (struct igb_q_vector *q_vector, int msix_vector) |
| static void | igb_configure_msix (struct igb_adapter *adapter) |
| static int | igb_request_msix (struct igb_adapter *adapter) |
| static void | igb_free_q_vector (struct igb_adapter *adapter, int v_idx) |
| static void | igb_reset_q_vector (struct igb_adapter *adapter, int v_idx) |
| static void | igb_reset_interrupt_capability (struct igb_adapter *adapter) |
| static void | igb_free_q_vectors (struct igb_adapter *adapter) |
| static void | igb_clear_interrupt_scheme (struct igb_adapter *adapter) |
| static void | igb_disable_mdd (struct igb_adapter *adapter) |
| static void | igb_enable_mdd (struct igb_adapter *adapter) |
| static void | igb_reset_sriov_capability (struct igb_adapter *adapter) |
| static void | igb_set_sriov_capability (struct igb_adapter *adapter) |
| static void | igb_set_interrupt_capability (struct igb_adapter *adapter, bool msix) |
| static void | igb_add_ring (struct igb_ring *ring, struct igb_ring_container *head) |
| static int | igb_alloc_q_vector (struct igb_adapter *adapter, unsigned int v_count, unsigned int v_idx, unsigned int txr_count, unsigned int txr_idx, unsigned int rxr_count, unsigned int rxr_idx) |
| static int | igb_alloc_q_vectors (struct igb_adapter *adapter) |
| static int | igb_init_interrupt_scheme (struct igb_adapter *adapter, bool msix) |
| static int | igb_request_irq (struct igb_adapter *adapter) |
| static void | igb_free_irq (struct igb_adapter *adapter) |
| static void | igb_irq_disable (struct igb_adapter *adapter) |
| static void | igb_irq_enable (struct igb_adapter *adapter) |
| static void | igb_update_mng_vlan (struct igb_adapter *adapter) |
| static void | igb_release_hw_control (struct igb_adapter *adapter) |
| static void | igb_get_hw_control (struct igb_adapter *adapter) |
| void | igb_power_up_link (struct igb_adapter *adapter) |
| static void | igb_power_down_link (struct igb_adapter *adapter) |
| static void | igb_check_swap_media (struct igb_adapter *adapter) |
| void | igb_up (struct igb_adapter *adapter) |
| void | igb_down (struct igb_adapter *adapter) |
| void | igb_reinit_locked (struct igb_adapter *adapter) |
| void | igb_enable_mas (struct igb_adapter *adapter) |
| void | igb_reset (struct igb_adapter *adapter) |
| static netdev_features_t | igb_fix_features (struct net_device *netdev, netdev_features_t features) |
| static int | igb_set_features (struct net_device *netdev, netdev_features_t features) |
| static int | igb_ndo_fdb_add (struct ndmsg *ndm, struct nlattr *tb[], struct net_device *dev, const unsigned char *addr, u16 vid, u16 flags) |
| static int | igb_ndo_bridge_setlink (struct net_device *dev, struct nlmsghdr *nlh, u16 flags) |
| static int | igb_ndo_bridge_getlink (struct sk_buff *skb, u32 pid, u32 seq, struct net_device *dev, u32 filter_mask, int nlflags) |
| static void | igb_set_fw_version (struct igb_adapter *adapter) |
| static void | igb_init_mas (struct igb_adapter *adapter) |
| void | igb_rar_set (struct igb_adapter *adapter, u32 index) |
| static int | __igb_open (struct net_device *netdev, bool resuming) |
| static int | __igb_close (struct net_device *netdev, bool suspending) |
| int | igb_setup_tx_resources (struct igb_ring *tx_ring) |
| void | igb_setup_tctl (struct igb_adapter *adapter) |
| static u32 | igb_tx_wthresh (struct igb_adapter *adapter) |
| void | igb_configure_tx_ring (struct igb_adapter *adapter, struct igb_ring *ring) |
| int | igb_setup_rx_resources (struct igb_ring *rx_ring) |
| void | igb_setup_rctl (struct igb_adapter *adapter) |
| static int | igb_set_vf_rlpml (struct igb_adapter *adapter, int size, int vfn) |
| static void | igb_rlpml_set (struct igb_adapter *adapter) |
| static void | igb_set_vf_vlan_strip (struct igb_adapter *adapter, int vfn, bool enable) |
| static void | igb_set_vmolr (struct igb_adapter *adapter, int vfn, bool aupe) |
| void | igb_configure_rx_ring (struct igb_adapter *adapter, struct igb_ring *ring) |
| void | igb_free_tx_resources (struct igb_ring *tx_ring) |
| void | igb_unmap_and_free_tx_resource (struct igb_ring *ring, struct igb_tx_buffer *tx_buffer) |
| void | igb_free_rx_resources (struct igb_ring *rx_ring) |
| void | igb_clean_rx_ring (struct igb_ring *rx_ring) |
| int | igb_write_mc_addr_list (struct net_device *netdev) |
| void | igb_full_sync_mac_table (struct igb_adapter *adapter) |
| void | igb_sync_mac_table (struct igb_adapter *adapter) |
| int | igb_available_rars (struct igb_adapter *adapter) |
| static int | igb_write_uc_addr_list (struct net_device *netdev) |
| static void | igb_check_wvbr (struct igb_adapter *adapter) |
| static void | igb_spoof_check (struct igb_adapter *adapter) |
| bool | igb_has_link (struct igb_adapter *adapter) |
| static void | igb_update_ring_itr (struct igb_q_vector *q_vector) |
| static void | igb_update_itr (struct igb_q_vector *q_vector, struct igb_ring_container *ring_container) |
| static void | igb_set_itr (struct igb_q_vector *q_vector) |
| void | igb_tx_ctxtdesc (struct igb_ring *tx_ring, u32 vlan_macip_lens, u32 type_tucmd, u32 mss_l4len_idx) |
| static int | igb_tso (struct igb_ring *tx_ring, struct igb_tx_buffer *first, u8 *hdr_len) |
| static void | igb_tx_csum (struct igb_ring *tx_ring, struct igb_tx_buffer *first) |
| static u32 | igb_tx_cmd_type (struct sk_buff *skb, u32 tx_flags) |
| static void | igb_tx_olinfo_status (struct igb_ring *tx_ring, union e1000_adv_tx_desc *tx_desc, u32 tx_flags, unsigned int paylen) |
| static void | igb_tx_map (struct igb_ring *tx_ring, struct igb_tx_buffer *first, const u8 hdr_len) |
| static int | __igb_maybe_stop_tx (struct igb_ring *tx_ring, const u16 size) |
| static int | igb_maybe_stop_tx (struct igb_ring *tx_ring, const u16 size) |
| netdev_tx_t | igb_xmit_frame_ring (struct sk_buff *skb, struct igb_ring *tx_ring) |
| static struct igb_ring * | igb_tx_queue_mapping (struct igb_adapter *adapter, struct sk_buff *skb) |
| void | igb_update_stats (struct igb_adapter *adapter) |
| static void | igb_tsync_interrupt (struct igb_adapter *adapter) |
| static void | igb_write_itr (struct igb_q_vector *q_vector) |
| void | igb_mta_set (struct igb_adapter *adapter, u32 hash_value) |
| static int | igb_set_vf_promisc (struct igb_adapter *adapter, u32 *msgbuf, u32 vf) |
| static int | igb_set_vf_multicasts (struct igb_adapter *adapter, u32 *msgbuf, u32 vf) |
| static void | igb_clear_vf_vfta (struct igb_adapter *adapter, u32 vf) |
| s32 | igb_vlvf_set (struct igb_adapter *adapter, u32 vid, bool add, u32 vf) |
| static int | igb_find_vlvf_entry (struct igb_adapter *adapter, int vid) |
| static int | igb_set_vf_vlan (struct igb_adapter *adapter, u32 *msgbuf, u32 vf) |
| static void | igb_vf_reset (struct igb_adapter *adapter, u32 vf) |
| static void | igb_vf_reset_event (struct igb_adapter *adapter, u32 vf) |
| static void | igb_vf_reset_msg (struct igb_adapter *adapter, u32 vf) |
| static int | igb_set_vf_mac_addr (struct igb_adapter *adapter, u32 *msg, int vf) |
| static void | igb_rcv_ack_from_vf (struct igb_adapter *adapter, u32 vf) |
| static void | igb_rcv_msg_from_vf (struct igb_adapter *adapter, u32 vf) |
| void | igb_ring_irq_enable (struct igb_q_vector *q_vector) |
| static void | igb_reuse_rx_page (struct igb_ring *rx_ring, struct igb_rx_buffer *old_buff) |
| static bool | igb_can_reuse_rx_page (struct igb_rx_buffer *rx_buffer, struct page *page, unsigned int truesize) |
| static bool | igb_add_rx_frag (struct igb_ring *rx_ring, struct igb_rx_buffer *rx_buffer, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static struct sk_buff * | igb_fetch_rx_buffer (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static void | igb_rx_checksum (struct igb_ring *ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static bool | igb_can_lro (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static struct igb_lrohdr * | igb_lro_hdr (struct sk_buff *skb) |
| static void | igb_lro_flush (struct igb_q_vector *q_vector, struct sk_buff *skb) |
| static void | igb_lro_flush_all (struct igb_q_vector *q_vector) |
| static void | igb_lro_header_ok (struct sk_buff *skb) |
| static void | igb_merge_frags (struct sk_buff *lro_skb, struct sk_buff *new_skb) |
| static void | igb_lro_receive (struct igb_q_vector *q_vector, struct sk_buff *new_skb) |
| static void | igb_process_skb_fields (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static bool | igb_is_non_eop (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc) |
| static unsigned int | igb_get_headlen (unsigned char *data, unsigned int max_len) |
| static void | igb_pull_tail (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static bool | igb_cleanup_headers (struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc, struct sk_buff *skb) |
| static bool | igb_alloc_mapped_page (struct igb_ring *rx_ring, struct igb_rx_buffer *bi) |
| void | igb_alloc_rx_buffers (struct igb_ring *rx_ring, u16 cleaned_count) |
| void | e1000_read_pci_cfg (struct e1000_hw *hw, u32 reg, u16 *value) |
| void | e1000_write_pci_cfg (struct e1000_hw *hw, u32 reg, u16 *value) |
| s32 | e1000_read_pcie_cap_reg (struct e1000_hw *hw, u32 reg, u16 *value) |
| s32 | e1000_write_pcie_cap_reg (struct e1000_hw *hw, u32 reg, u16 *value) |
| void | igb_vlan_mode (struct net_device *netdev, u32 features) |
| int | igb_set_spd_dplx (struct igb_adapter *adapter, u16 spddplx) |
| int | igb_setup_queues (struct igb_adapter *adapter) |
| static int | __igb_shutdown (struct pci_dev *pdev, bool *enable_wake, bool runtime) |
| int | igb_add_mac_filter (struct igb_adapter *adapter, u8 *addr, u16 queue) |
| int | igb_del_mac_filter (struct igb_adapter *adapter, u8 *addr, u16 queue) |
| static int | __igb_notify_lookup (struct device *dev, void *data) |
| static struct igb_adapter * | igb_lookup (char *id) |
| static int | igb_bind (struct file *file, void __user *argp) |
| static int | igb_unbind (struct file *file) |
| static long | igb_getspeed (struct file *file, void __user *arg) |
| static long | igb_mapbuf_user (struct file *file, void __user *arg, int ring) |
| static long | igb_mapbuf (struct file *file, void __user *arg, int ring) |
| static long | igb_unmapbuf (struct file *file, void __user *arg, int ring) |
변수 | |
| char | igb_driver_name [] = "igb_avb" |
| char | igb_driver_version [] = DRV_VERSION |
| static const char | igb_driver_string [] |
| static const char | igb_copyright [] |
| static const struct pci_device_id | igb_pci_tbl [] |
| static struct vm_operations_struct | igb_mmap_ops |
| static struct pci_error_handlers | igb_err_handler |
| static struct file_operations | igb_fops |
| static struct miscdevice | igb_miscdev |
| static struct pci_driver | igb_driver |
| static int | debug = NETIF_MSG_DRV | NETIF_MSG_PROBE |
| static int | tx_size = 256 |
| static const struct net_device_ops | igb_netdev_ops |
| #define BUILD 2 |
igb_main.c 파일의 83 번째 라인에서 정의되었습니다.
| #define DRV_DEBUG |
igb_main.c 파일의 76 번째 라인에서 정의되었습니다.
| #define DRV_HW_PERF |
igb_main.c 파일의 78 번째 라인에서 정의되었습니다.
| #define DRV_VERSION |
igb_main.c 파일의 84 번째 라인에서 정의되었습니다.
| #define E1000_CTRL_EN_PHY_PWR_MGMT 0x00200000 |
| #define E1000_DEV_ID_82576_VF 0x10CA |
igb_main.c 파일의 9504 번째 라인에서 정의되었습니다.
| #define E1000_MRQC_ENABLE_DEF_Q3 (3 << 3) |
| #define IGB_N0_QUEUE -1 |
igb_main.c 파일의 554 번째 라인에서 정의되었습니다.
| #define IGB_SET_FLAG | ( | _input, | |
| _flag, | |||
| _result | |||
| ) |
igb_main.c 파일의 5433 번째 라인에서 정의되었습니다.
| #define IGB_STAGGERED_QUEUE_OFFSET 8 |
igb_main.c 파일의 4656 번째 라인에서 정의되었습니다.
| #define MAJ 5 |
igb_main.c 파일의 81 번째 라인에서 정의되었습니다.
| #define MAX_STD_JUMBO_FRAME_SIZE 9238 |
| #define MIN 3 |
igb_main.c 파일의 82 번째 라인에서 정의되었습니다.
| #define PHY_IDLE_ERROR_COUNT_MASK 0x00FF |
| #define Q_IDX_82576 | ( | i | ) | (((i & 0x1) << 3) + (i >> 1)) |
igb_main.c 파일의 450 번째 라인에서 정의되었습니다.
| #define TX_WAKE_THRESHOLD (DESC_NEEDED * 2) |
| #define VERSION_SUFFIX "_AVB" |
igb_main.c 파일의 79 번째 라인에서 정의되었습니다.
| enum latency_range |
| 열거형 멤버 | |
|---|---|
| lowest_latency | |
| low_latency | |
| bulk_latency | |
| latency_invalid | |
igb_main.c 파일의 5048 번째 라인에서 정의되었습니다.
|
static |
igb_close - Disables a network interface : network interface device structure
Returns 0, this is not allowed to fail
The close entry point is called when an interface is de-activated by the OS. The hardware is still under the driver's control, but needs to be disabled. A global MAC reset is issued to stop the hardware, and all transmit and receive resources are freed.
igb_main.c 파일의 3452 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10229 번째 라인에서 정의되었습니다.

|
static |
igb_open - Called when a network interface is made active : network interface device structure
Returns 0 on success, negative value on failure
The open entry point is called when a network interface is made active by the system (IFF_UP). At this point all resources needed for transmit and receive operations are allocated, the interrupt handler is registered with the OS, the watchdog timer is started, and the stack is notified that the interface is ready.
igb_main.c 파일의 3327 번째 라인에서 정의되었습니다.


igb_main.c 파일의 9249 번째 라인에서 정의되었습니다.


igb_main.c 파일의 8917 번째 라인에서 정의되었습니다.

igb_main.c 파일의 8931 번째 라인에서 정의되었습니다.

igb_main.c 파일의 469 번째 라인에서 정의되었습니다.
igb_main.c 파일의 8924 번째 라인에서 정의되었습니다.

igb_main.c 파일의 8945 번째 라인에서 정의되었습니다.


| int igb_add_mac_filter | ( | struct igb_adapter * | adapter, |
| u8 * | addr, | ||
| u16 | queue | ||
| ) |
|
static |
|
static |
igb_add_rx_frag - Add contents of Rx buffer to sk_buff : rx descriptor ring to transact packets on : buffer containing page to add : descriptor containing length of buffer written by hardware : sk_buff to place the data into
This function will add the data contained in rx_buffer->page to the skb. This is done either through a direct copy if the data in the buffer is less than the skb header size, otherwise it will just attach the page as a frag to the skb.
The function will then update the page offset if necessary and return true if the buffer can be reused by the adapter.
igb_main.c 파일의 7567 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_alloc_q_vector - Allocate memory for a single interrupt vector : board private structure to initialize : q_vectors allocated on adapter, used for ring interleaving : index of vector in adapter struct : total number of Tx rings to allocate : index of first Tx ring to allocate : total number of Rx rings to allocate : index of first Rx ring to allocate
We allocate one q_vector. If allocation fails we return -ENOMEM.
igb_main.c 파일의 1158 번째 라인에서 정의되었습니다.


|
static |
igb_alloc_q_vectors - Allocate memory for interrupt vectors : board private structure to initialize
We allocate one q_vector per queue interrupt. If allocation fails we return -ENOMEM.
igb_main.c 파일의 1286 번째 라인에서 정의되었습니다.


igb_alloc_rx_buffers - Replace used receive buffers; packet split : address of board private structure
igb_main.c 파일의 8782 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 555 번째 라인에서 정의되었습니다.


| int igb_available_rars | ( | struct igb_adapter * | adapter | ) |
|
static |
igb_main.c 파일의 10264 번째 라인에서 정의되었습니다.


|
static |
igb_cache_ring_register - Descriptor ring to register mapping : board private structure to initialize
Once we know the feature-set enabled for the device, we'll cache the register offset the descriptor ring is assigned to.
igb_main.c 파일의 458 번째 라인에서 정의되었습니다.

|
inlinestatic |
igb_can_lro - returns true if packet is TCP/IPV4 and LRO is enabled : board private structure : pointer to the rx descriptor : pointer to the skb to be merged
igb_main.c 파일의 7800 번째 라인에서 정의되었습니다.

|
static |
|
static |
igb_change_mtu - Change the Maximum Transfer Unit : network interface device structure : new value for maximum frame size
Returns 0 on success, negative on failure
igb_main.c 파일의 5857 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 1643 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 4637 번째 라인에서 정의되었습니다.

|
static |
igb_clean_all_rx_rings - Free Rx Buffers for all queues : board private structure
igb_main.c 파일의 4337 번째 라인에서 정의되었습니다.


|
static |
igb_clean_all_tx_rings - Free Tx Buffers for all queues : board private structure
igb_main.c 파일의 4229 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 8599 번째 라인에서 정의되었습니다.


| void igb_clean_rx_ring | ( | struct igb_ring * | rx_ring | ) |
igb_clean_rx_ring - Free Rx Buffers per Queue : ring to free buffers from
igb_main.c 파일의 4278 번째 라인에서 정의되었습니다.

|
static |
igb_clean_tx_irq - Reclaim resources after transmit completes : pointer to q_vector containing needed info returns TRUE if ring is completely cleaned
igb_main.c 파일의 7274 번째 라인에서 정의되었습니다.


|
static |
igb_clean_tx_ring - Free Tx Buffers : ring to be cleaned
igb_main.c 파일의 4198 번째 라인에서 정의되었습니다.


|
static |
igb_cleanup_headers - Correct corrupted or empty headers : rx descriptor ring packet is being transacted on : pointer to the EOP Rx descriptor : pointer to current skb being fixed
Address the case where we are pulling data in on pages only and as such no data is present in the skb header.
In addition if skb is not at least 60 bytes we need to pad it so that it is large enough to qualify as a valid Ethernet frame.
Returns true if an error was encountered and skb was freed.
igb_main.c 파일의 8567 번째 라인에서 정의되었습니다.


|
static |
igb_clear_interrupt_scheme - reset the device to a state of no interrupts
This function resets the device so that it has 0 rx queues, tx queues, and MSI-X interrupts allocated.
igb_main.c 파일의 855 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6572 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 3485 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10776 번째 라인에서 정의되었습니다.

|
static |
igb_configure - configure the hardware for RX and TX : private board structure
igb_main.c 파일의 1579 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_configure_msix - Configure MSI-X hardware
igb_configure_msix sets up the hardware to properly generate MSI-X interrupts.
igb_main.c 파일의 641 번째 라인에서 정의되었습니다.


|
static |
igb_configure_rx - Configure receive Unit after Reset : board private structure
Configure the Rx unit of the MAC after a reset.
igb_main.c 파일의 4117 번째 라인에서 정의되었습니다.


| void igb_configure_rx_ring | ( | struct igb_adapter * | adapter, |
| struct igb_ring * | ring | ||
| ) |
igb_configure_rx_ring - Configure a receive ring after Reset : board private structure : receive ring to be configured
Configure the Rx unit of the MAC after a reset.
igb_main.c 파일의 4025 번째 라인에서 정의되었습니다.


|
static |
igb_configure_tx - Configure transmit Unit after Reset : board private structure
Configure the Tx unit of the MAC after a reset.
igb_main.c 파일의 3641 번째 라인에서 정의되었습니다.


| void igb_configure_tx_ring | ( | struct igb_adapter * | adapter, |
| struct igb_ring * | ring | ||
| ) |
igb_configure_tx_ring - Configure transmit ring after Reset : board private structure : tx ring to configure
Configure a transmit ring after a reset.
igb_main.c 파일의 3604 번째 라인에서 정의되었습니다.


| int igb_del_mac_filter | ( | struct igb_adapter * | adapter, |
| u8 * | addr, | ||
| u16 | queue | ||
| ) |
|
static |
igb_disable_mdd - board private structure
Disable MDD behavior in the HW
igb_main.c 파일의 908 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 4973 번째 라인에서 정의되었습니다.

|
static |
igb_dma_err_timer - Timer Call-back : pointer to adapter cast into an unsigned long
igb_main.c 파일의 5031 번째 라인에서 정의되었습니다.

| void igb_down | ( | struct igb_adapter * | adapter | ) |
igb_main.c 파일의 1875 번째 라인에서 정의되었습니다.


| void igb_enable_mas | ( | struct igb_adapter * | adapter | ) |
igb_enable_mas - Media Autosense re-enable after swap
: adapter struct
igb_main.c 파일의 1950 번째 라인에서 정의되었습니다.
|
static |
igb_enable_mdd - board private structure
Enable the HW to detect malicious driver and sends an interrupt to the driver.
igb_main.c 파일의 929 번째 라인에서 정의되었습니다.

|
static |
igb_exit_module - Driver Exit Cleanup Routine
igb_exit_module is called just before the driver is removed from memory.
igb_main.c 파일의 428 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 7608 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_main.c 파일의 2130 번째 라인에서 정의되었습니다.
|
static |
igb_free_all_rx_resources - Free Rx Resources for All Queues : board private structure
Free all receive software resources
igb_main.c 파일의 4266 번째 라인에서 정의되었습니다.


|
static |
igb_free_all_tx_resources - Free Tx Resources for All Queues : board private structure
Free all transmit software resources
igb_main.c 파일의 4164 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_free_q_vector - Free memory allocated for specific interrupt vector : board private structure to initialize : Index of vector to be freed
This function frees the memory allocated to the q_vector.
igb_main.c 파일의 767 번째 라인에서 정의되었습니다.

|
static |
igb_free_q_vectors - Free memory allocated for interrupt vectors : board private structure to initialize
This function frees the memory allocated to the q_vectors. In addition if NAPI is enabled it will delete any references to the NAPI struct prior to freeing the q_vector.
igb_main.c 파일의 835 번째 라인에서 정의되었습니다.


| void igb_free_rx_resources | ( | struct igb_ring * | rx_ring | ) |
igb_free_rx_resources - Free Rx Resources : ring to clean the resources from
Free all receive software resources
igb_main.c 파일의 4243 번째 라인에서 정의되었습니다.


| void igb_free_tx_resources | ( | struct igb_ring * | tx_ring | ) |
igb_free_tx_resources - Free Tx Resources per Queue : Tx descriptor ring for a specific queue
Free all transmit software resources
igb_main.c 파일의 4141 번째 라인에서 정의되었습니다.


| void igb_full_sync_mac_table | ( | struct igb_adapter * | adapter | ) |
|
static |
igb_get_headlen - determine size of header for LRO/GRO : pointer to the start of the headers : total length of section to find headers in
This function is meant to determine the length of headers that will be recognized by hardware for LRO, and GRO offloads. The main motivation of doing this is to only perform one pull for IPv4 TCP packets so that we can do basic things like calculating the gso_size based on the average data per packet.
igb_main.c 파일의 8394 번째 라인에서 정의되었습니다.

|
static |
igb_get_hw_control - get control of the h/w from f/w : address of board private structure
igb_get_hw_control sets CTRL_EXT:DRV_LOAD bit. For ASF and Pass Through versions of f/w this means that the driver is loaded.
igb_main.c 파일의 1564 번째 라인에서 정의되었습니다.

|
static |
igb_get_stats - Get System Network Statistics : network interface device structure
Returns the address of the device statistics structure. The statistics are updated here and also from the timer callback.
igb_main.c 파일의 5834 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10330 번째 라인에서 정의되었습니다.


| bool igb_has_link | ( | struct igb_adapter * | adapter | ) |
igb_has_link - check shared code for link and determine up/down : pointer to driver private info
igb_main.c 파일의 4720 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_main.c 파일의 9969 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 9929 번째 라인에서 정의되었습니다.


|
static |
igb_init_interrupt_scheme - initialize interrupts, allocate queues/vectors
This function initializes the interrupts and allocates all of the queues.
igb_main.c 파일의 1343 번째 라인에서 정의되었습니다.


|
static |
igb_init_mas - init Media Autosense feature if enabled in the NVM
: adapter struct
igb_main.c 파일의 2557 번째 라인에서 정의되었습니다.


|
static |
igb_init_module - Driver Registration Routine
igb_init_module is the first routine called when the driver is loaded. All it does is register with the PCI subsystem.
igb_main.c 파일의 391 번째 라인에서 정의되었습니다.

|
static |
igb_intr - Legacy Interrupt Handler : interrupt number : pointer to a network interface device structure
igb_main.c 파일의 7167 번째 라인에서 정의되었습니다.


|
static |
igb_intr_msi - Interrupt Handler : interrupt number : pointer to a network interface device structure
igb_main.c 파일의 7128 번째 라인에서 정의되었습니다.


|
static |
igb_io_error_detected - called when PCI error is detected : Pointer to PCI device : The current pci connection state
This function is called after a PCI bus error affecting this device has been detected.
igb_main.c 파일의 9513 번째 라인에서 정의되었습니다.

|
static |
igb_io_resume - called when traffic can start flowing again. : Pointer to PCI device
This callback is called when the error recovery driver tells us that its OK to resume normal operation. Implementation resembles the second-half of the igb_resume routine.
igb_main.c 파일의 9652 번째 라인에서 정의되었습니다.

|
static |
igb_io_slot_reset - called after the pci bus has been reset. : Pointer to PCI device
Restart the card from scratch, as if from a cold-boot. Implementation resembles the first-half of the igb_resume routine.
igb_main.c 파일의 9615 번째 라인에서 정의되었습니다.

|
static |
igb_ioctl - : : :
igb_main.c 파일의 8891 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10715 번째 라인에서 정의되었습니다.

|
static |
igb_irq_disable - Mask off interrupt generation on the NIC : board private structure
igb_main.c 파일의 1438 번째 라인에서 정의되었습니다.

|
static |
igb_irq_enable - Enable default interrupt generation settings : board private structure
igb_main.c 파일의 1478 번째 라인에서 정의되었습니다.

|
static |
igb_is_non_eop - process handling of non-EOP buffers : Rx ring being processed : Rx descriptor for current buffer
This function updates next to clean. If the buffer is an EOP buffer this function exits returning false, otherwise it will place the sk_buff in the next buffer to be chained and return true indicating that this is in fact a non-EOP buffer.
igb_main.c 파일의 8264 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10245 번째 라인에서 정의되었습니다.


|
static |
igb_lro_flush - Indicate packets to upper layer.
Update IP and TCP header part of head skb if more than one skb's chained and indicate packets to upper layer.
igb_main.c 파일의 7854 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 7902 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_main.c 파일의 7914 번째 라인에서 정의되었습니다.


|
static |
igb_lro_receive - if able, queue skb into lro chain : structure containing interrupt and ring information : pointer to current skb being checked
Checks whether the skb given is eligible for LRO and if that's fine chains it to the existing lro_skb based on flowid. If an LRO for the flow doesn't exist create one.
igb_main.c 파일의 8015 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10485 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 10366 번째 라인에서 정의되었습니다.


igb_main.c 파일의 5643 번째 라인에서 정의되었습니다.


|
static |
|
static |
igb_main.c 파일의 10845 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 7076 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6197 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6262 번째 라인에서 정의되었습니다.


| void igb_mta_set | ( | struct igb_adapter * | adapter, |
| u32 | hash_value | ||
| ) |
igb_mta_set_ - Set multicast filter table address : pointer to the adapter structure : determines the MTA register and bit to set
The multicast table address is a register array of 32-bit registers. The hash_value is used to determine what register the bit is in, the current value is read, the new bit is OR'd in and the new value is written back into the register.
igb_main.c 파일의 6444 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 2319 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 2268 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 2169 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 3436 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10757 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 6420 번째 라인에서 정의되었습니다.


|
static |
igb_poll - NAPI Rx polling callback : napi polling structure : count of how many packets we should handle
igb_main.c 파일의 7236 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10212 번째 라인에서 정의되었습니다.
|
static |
igb_power_down_link - Power down the phy/serdes link : address of board private structure
igb_main.c 파일의 1634 번째 라인에서 정의되었습니다.


| void igb_power_up_link | ( | struct igb_adapter * | adapter | ) |
igb_power_up_link - Power up the phy/serdes link : address of board private structure
igb_main.c 파일의 1620 번째 라인에서 정의되었습니다.


|
static |
igb_probe - Device Initialization Routine : PCI device information struct : entry in igb_pci_tbl
Returns 0 on success, negative on failure
igb_probe initializes an adapter identified by a pci_dev structure. The OS initialization, configuring of the adapter private structure, and a hardware reset occur.
igb_main.c 파일의 2627 번째 라인에서 정의되었습니다.


|
static |
igb_process_mdd_event - board private structure
Identify a malicious VF, disable the VF TX/RX queues and log a message.
igb_main.c 파일의 867 번째 라인에서 정의되었습니다.

|
static |
igb_process_skb_fields - Populate skb header fields from Rx descriptor : rx descriptor ring packet is being transacted on : pointer to the EOP Rx descriptor : pointer to current skb being populated
This function checks the ring, descriptor, and packet information in order to populate the hash, checksum, VLAN, timestamp, protocol, and other fields within the skb.
igb_main.c 파일의 8167 번째 라인에서 정의되었습니다.


|
static |
igb_pull_tail - igb specific version of skb_pull_tail : rx descriptor ring packet is being transacted on : pointer to the EOP Rx descriptor : pointer to current skb being adjusted
This function is an igb specific version of __pskb_pull_tail. The main difference between this version and the original function is that this function can make several assumptions about the state of things that allow for significant optimizations versus the standard function. As a result we can do things like drop a frag and maintain an accurate truesize for the skb.
igb_main.c 파일의 8506 번째 라인에서 정의되었습니다.


| void igb_rar_set | ( | struct igb_adapter * | adapter, |
| u32 | index | ||
| ) |
igb_main.c 파일의 2589 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 4478 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 6974 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6988 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10217 번째 라인에서 정의되었습니다.
| void igb_reinit_locked | ( | struct igb_adapter * | adapter | ) |
igb_main.c 파일의 1935 번째 라인에서 정의되었습니다.


|
static |
igb_release_hw_control - release control of the h/w to f/w : address of board private structure
igb_release_hw_control resets CTRL_EXT:DRV_LOAD bit. For ASF and Pass Through versions of f/w this means that the driver is no longer loaded.
igb_main.c 파일의 1544 번째 라인에서 정의되었습니다.

|
static |
igb_remove - Device Removal Routine : PCI device information struct
igb_remove is called by the PCI subsystem to alert the driver that it should release a PCI device. The could be caused by a Hot-Plug event, or because the driver is going to be removed from memory.
igb_main.c 파일의 3175 번째 라인에서 정의되었습니다.

|
static |
igb_request_irq - initialize interrupts
Attempts to configure interrupts using the best available capabilities of the hardware and kernel.
igb_main.c 파일의 1371 번째 라인에서 정의되었습니다.


|
static |
igb_request_msix - Initialize MSI-X interrupts
igb_request_msix allocates MSI-X vectors and requests interrupts from the kernel.
igb_main.c 파일의 707 번째 라인에서 정의되었습니다.


| void igb_reset | ( | struct igb_adapter * | adapter | ) |
igb_main.c 파일의 1967 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 811 번째 라인에서 정의되었습니다.


|
static |
igb_reset_q_vector - Reset config for interrupt vector : board private structure to initialize : Index of vector to be reset
If NAPI is enabled it will delete any references to the NAPI struct. This is preparation for igb_free_q_vector.
igb_main.c 파일의 791 번째 라인에서 정의되었습니다.

|
static |
igb_reset_sriov_capability - disable SR-IOV if enabled
Attempt to disable single root IO virtualization capabilites present in the kernel.
igb_main.c 파일의 949 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5818 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6547 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 9125 번째 라인에서 정의되었습니다.


|
static |
igb_reuse_rx_page - page flip buffer and store it back on the ring : rx descriptor ring to store buffers on : donor buffer to have page reused
Synchronizes page for reuse by the adapter
igb_main.c 파일의 7500 번째 라인에서 정의되었습니다.

| void igb_ring_irq_enable | ( | struct igb_q_vector * | q_vector | ) |
igb_main.c 파일의 7210 번째 라인에서 정의되었습니다.


|
static |
igb_rlpml_set - set maximum receive packet size : board private structure
Configure maximum receivable packet size.
igb_main.c 파일의 3937 번째 라인에서 정의되었습니다.


|
inlinestatic |
igb_main.c 파일의 7670 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5760 번째 라인에서 정의되었습니다.
|
static |
|
static |
igb_set_fw_version - Configure version string for ethtool : adapter struct
igb_main.c 파일의 2508 번째 라인에서 정의되었습니다.


|
static |
igb_set_interrupt_capability - set MSI or MSI-X if supported
Attempt to configure interrupts using the best available capabilities of the hardware and kernel.
igb_main.c 파일의 1057 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5201 번째 라인에서 정의되었습니다.


|
static |
igb_set_mac - Change the Ethernet Address of the NIC : network interface device structure : pointer to an address structure
Returns 0 on success, negative on failure
igb_main.c 파일의 4353 번째 라인에서 정의되었습니다.


|
static |
igb_set_rx_mode - Secondary Unicast, Multicast and Promiscuous mode set : network interface device structure
The set_rx_mode entry point is called whenever the unicast or multicast address lists or the network interface flags are updated. This routine is responsible for configuring the hardware for proper unicast, multicast, promiscuous mode, and all-multi behavior.
igb_main.c 파일의 4567 번째 라인에서 정의되었습니다.


| int igb_set_spd_dplx | ( | struct igb_adapter * | adapter, |
| u16 | spddplx | ||
| ) |
igb_main.c 파일의 9159 번째 라인에서 정의되었습니다.

|
static |
igb_set_sriov_capability - setup SR-IOV if supported
Attempt to enable single root IO virtualization capabilites present in the kernel.
igb_main.c 파일의 992 번째 라인에서 정의되었습니다.


|
static |
igb_set_uta - Set unicast filter table address : board private structure
The unicast table address is a register array of 32-bit registers. The table is meant to be used in a way similar to how the MTA is used however due to certain limitations in the hardware it is necessary to set all the hash bits to 1 and use the VMOLR ROPE bit as a promiscuous enable bit to allow vlan tag stripping when promiscuous mode is enabled
igb_main.c 파일의 7106 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 9716 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6959 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6519 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6470 번째 라인에서 정의되었습니다.


|
inlinestatic |
|
static |
igb_main.c 파일의 6813 번째 라인에서 정의되었습니다.


|
inlinestatic |
igb_main.c 파일의 3964 번째 라인에서 정의되었습니다.

|
inlinestatic |
igb_main.c 파일의 3986 번째 라인에서 정의되었습니다.

|
static |
igb_setup_all_rx_resources - wrapper to allocate Rx resources (Descriptors) for all queues : board private structure
Return 0 on success, negative on failure
igb_main.c 파일의 3698 번째 라인에서 정의되었습니다.


|
static |
igb_setup_all_tx_resources - wrapper to allocate Tx resources (Descriptors) for all queues : board private structure
Return 0 on success, negative on failure
igb_main.c 파일의 3535 번째 라인에서 정의되었습니다.


|
static |
igb_setup_mrqc - configure the multiple receive queue control registers : Board private structure
igb_main.c 파일의 3721 번째 라인에서 정의되었습니다.


| int igb_setup_queues | ( | struct igb_adapter * | adapter | ) |
igb_main.c 파일의 9212 번째 라인에서 정의되었습니다.

| void igb_setup_rctl | ( | struct igb_adapter * | adapter | ) |
igb_setup_rctl - configure the receive control registers : Board private structure
igb_main.c 파일의 3859 번째 라인에서 정의되었습니다.

| int igb_setup_rx_resources | ( | struct igb_ring * | rx_ring | ) |
igb_setup_rx_resources - allocate Rx resources (Descriptors) : rx descriptor ring (for a specific queue) to setup
Returns 0 on success, negative on failure
igb_main.c 파일의 3655 번째 라인에서 정의되었습니다.

| void igb_setup_tctl | ( | struct igb_adapter * | adapter | ) |
igb_setup_tctl - configure the transmit control registers : Board private structure
igb_main.c 파일의 3558 번째 라인에서 정의되었습니다.


| int igb_setup_tx_resources | ( | struct igb_ring * | tx_ring | ) |
igb_setup_tx_resources - allocate Tx resources (Descriptors) : tx descriptor ring (for a specific queue) to setup
Return 0 on success, negative on failure
igb_main.c 파일의 3496 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 9466 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 4658 번째 라인에서 정의되었습니다.

|
static |
igb_sw_init - Initialize general software structures (struct igb_adapter) : board private structure to initialize
igb_sw_init initializes the Adapter private data structure. Fields are initialized based on PCI device information and OS network device settings (MTU size).
igb_main.c 파일의 3255 번째 라인에서 정의되었습니다.


| void igb_sync_mac_table | ( | struct igb_adapter * | adapter | ) |
igb_main.c 파일의 4454 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5289 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5438 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 5363 번째 라인에서 정의되었습니다.


| void igb_tx_ctxtdesc | ( | struct igb_ring * | tx_ring, |
| u32 | vlan_macip_lens, | ||
| u32 | type_tucmd, | ||
| u32 | mss_l4len_idx | ||
| ) |
igb_main.c 파일의 5265 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 5483 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5460 번째 라인에서 정의되었습니다.

|
static |
|
static |
igb_tx_timeout - Respond to a Tx Hang : network interface device structure
igb_main.c 파일의 5802 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 3580 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 10312 번째 라인에서 정의되었습니다.

| void igb_unmap_and_free_tx_resource | ( | struct igb_ring * | ring, |
| struct igb_tx_buffer * | tx_buffer | ||
| ) |
|
static |
igb_main.c 파일의 10603 번째 라인에서 정의되었습니다.


| void igb_up | ( | struct igb_adapter * | adapter | ) |
igb_up - Open the interface and prepare it to handle traffic : board private structure
igb_main.c 파일의 1829 번째 라인에서 정의되었습니다.


|
static |
igb_update_itr - update the dynamic ITR value based on statistics Stores a new ITR value based on packets and byte counts during the last interrupt. The advantage of per interrupt computation is faster updates and more accurate ITR for the current traffic pattern. Constants in this function were computed based on theoretical maximum wire speed and thresholds were set based on testing data as well as attempting to minimize response time while increasing bulk throughput. this functionality is controlled by the InterruptThrottleRate module parameter (see igb_param.c) NOTE: These calculations are only valid when operating in a single- queue environment. : pointer to q_vector : ring info to update the itr for
igb_main.c 파일의 5149 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 1509 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 4700 번째 라인에서 정의되었습니다.


|
static |
igb_update_ring_itr - update the dynamic ITR value based on packet size
Stores a new ITR value based on strictly on packet size. This
algorithm is less sophisticated than that used in igb_update_itr,
due to the difficulty of synchronizing statistics across multiple
receive rings. The divisors and thresholds used by this function
were determined based on theoretical maximum wire speed and testing
data, in order to minimize response time while increasing bulk
throughput.
This functionality is controlled by the InterruptThrottleRate module
parameter (see igb_param.c)
NOTE: This function is called only when operating in a multiqueue
receive environment.
: pointer to q_vector
igb_main.c 파일의 5071 번째 라인에서 정의되었습니다.

| void igb_update_stats | ( | struct igb_adapter * | adapter | ) |
igb_update_stats - Update the board statistics counters : board private structure
igb_main.c 파일의 5908 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6403 번째 라인에서 정의되었습니다.


|
inlinestatic |
igb_main.c 파일의 6872 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6919 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 6931 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 350 번째 라인에서 정의되었습니다.


| void igb_vlan_mode | ( | struct net_device * | netdev, |
| u32 | features | ||
| ) |
igb_main.c 파일의 8962 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 9046 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 9091 번째 라인에서 정의되었습니다.


| s32 igb_vlvf_set | ( | struct igb_adapter * | adapter, |
| u32 | vid, | ||
| bool | add, | ||
| u32 | vf | ||
| ) |
igb_main.c 파일의 6606 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10833 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 10837 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 10829 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 9881 번째 라인에서 정의되었습니다.


|
static |
igb_watchdog - Timer Call-back : pointer to adapter cast into an unsigned long
igb_main.c 파일의 4762 번째 라인에서 정의되었습니다.

|
static |
igb_main.c 파일의 4779 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 10223 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 6242 번째 라인에서 정의되었습니다.

|
static |
igb_write_ivar - configure ivar for given MSI-X vector : pointer to the HW structure : vector number we are allocating to a given ring : row index of IVAR register to write within IVAR table : column offset of in IVAR, should be multiple of 8
This function is intended to handle the writing of the IVAR register for adapters 82576 and newer. The IVAR table consists of 2 columns, each containing an cause allocation for an Rx and Tx ring, and a variable number of rows depending on the number of queues supported.
igb_main.c 파일의 540 번째 라인에서 정의되었습니다.

| int igb_write_mc_addr_list | ( | struct net_device * | netdev | ) |
igb_write_mc_addr_list - write multicast addresses to MTA : network interface device structure
Writes multicast address list to the MTA hash table. Returns: -ENOMEM on failure 0 on no addresses written X on writing X addresses to MTA
igb_main.c 파일의 4381 번째 라인에서 정의되었습니다.


|
static |
igb_write_uc_addr_list - write unicast addresses to RAR table : network interface device structure
Writes unicast address list to the RAR table. Returns: -ENOMEM on failure/insufficient address space 0 on no addresses written X on writing X addresses to the RAR table
igb_main.c 파일의 4515 번째 라인에서 정의되었습니다.


|
static |
igb_main.c 파일의 5770 번째 라인에서 정의되었습니다.


| netdev_tx_t igb_xmit_frame_ring | ( | struct sk_buff * | skb, |
| struct igb_ring * | tx_ring | ||
| ) |
igb_main.c 파일의 5650 번째 라인에서 정의되었습니다.


| MODULE_AUTHOR | ( | "Intel | Corporation, |
| < e1000-devel @lists.sourceforge.net >" | |||
| ) |
| MODULE_DESCRIPTION | ( | "Intel(R) Gigabit Ethernet Network Driver" | ) |
| MODULE_DEVICE_TABLE | ( | pci | , |
| igb_pci_tbl | |||
| ) |
| module_exit | ( | igb_exit_module | ) |

| module_init | ( | igb_init_module | ) |

| MODULE_LICENSE | ( | "GPL" | ) |
| module_param | ( | debug | , |
| int | , | ||
| 0 | |||
| ) |
| module_param | ( | tx_size | , |
| int | , | ||
| 0 | |||
| ) |
| MODULE_PARM_DESC | ( | debug | , |
| "Debug level (0=none, ..., 16=all)" | |||
| ) |
| MODULE_VERSION | ( | DRV_VERSION | ) |
|
static |
igb_main.c 파일의 377 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 91 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 322 번째 라인에서 정의되었습니다.
| char igb_driver_name[] = "igb_avb" |
igb_main.c 파일의 87 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 89 번째 라인에서 정의되었습니다.
| char igb_driver_version[] = DRV_VERSION |
igb_main.c 파일의 88 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 291 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 301 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 316 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 236 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 2356 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 94 번째 라인에서 정의되었습니다.
|
static |
igb_main.c 파일의 382 번째 라인에서 정의되었습니다.